range: avoid setting slider coordinates to negative numbers
authorCosimo Cecchi <cosimoc@gnome.org>
Sat, 5 Mar 2016 02:11:30 +0000 (18:11 -0800)
committerCosimo Cecchi <cosimoc@gnome.org>
Sat, 5 Mar 2016 02:13:53 +0000 (18:13 -0800)
This can happen if the theme sets a negative margin, but the coordinate
should never be negative.

gtk/gtkrange.c

index 0d6c097b2344ee18f317f483db72c953576cdbf9..66cf084b2bbd57a75f3e98e026b258a674ade952 100644 (file)
@@ -2617,13 +2617,13 @@ update_initial_slider_position (GtkRange      *range,
 
   if (priv->orientation == GTK_ORIENTATION_VERTICAL)
     {
-      priv->slide_initial_slider_position = slider_alloc->y;
-      priv->slide_initial_coordinate_delta = y - slider_alloc->y;
+      priv->slide_initial_slider_position = MAX (0, slider_alloc->y);
+      priv->slide_initial_coordinate_delta = y - priv->slide_initial_slider_position;
     }
   else
     {
-      priv->slide_initial_slider_position = slider_alloc->x;
-      priv->slide_initial_coordinate_delta = x - slider_alloc->x;
+      priv->slide_initial_slider_position = MAX (0, slider_alloc->x);
+      priv->slide_initial_coordinate_delta = x - priv->slide_initial_slider_position;
     }
 }